Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.hw
Class ModuleInstance_Standard.Message_Variable

    java.lang.Object
      rdlc.hw.ModuleInstance_Standard.Message_Fixed
          rdlc.hw.ModuleInstance_Standard.Message_Variable

Direct Known Subclasses:
  ModuleInstance_Standard.MessageStruct_Variable, ModuleInstance_Standard.MessageUnion_Variable

Enclosing class:
  ModuleInstance_Standard

    protected abstract static class ModuleInstance_Standard.Message_Variable

extends ModuleInstance_Standard.Message_Fixed

Abstract class which represents a variable bitwidth message for the purpose of generating packing and unpacking logic.

Version:
  $Revision: 1.18 $
Author:
  Greg Gibeling

Field Summary
`protected int` | `nTags` Number of actual used tags in this message
`protected java.util.Hashtable<Expression,java.lang.Integer>` | `tag2Width` Map from tag expression to bit widths.
`protected int` | `tagExtWidth` The width of the tag extension.
`protected int` | `tagWidth` The width of the tag for this message.
`protected Expression_Wire` | `widthWire` The expression for wire carrying this message's width at runtime.

Fields inherited from class rdlc.hw.ModuleInstance_Standard.Message_Fixed
`dataWire, instance, name, width`

Constructor Summary
`ModuleInstance_Standard.Message_Variable(java.lang.String _name, ModuleInstance_Standard _instance, Message message)`

Method Summary
`Expression` | `getWidthExpr(int widthBits, int tagWidth)` Simple accessor.

Methods inherited from class rdlc.hw.ModuleInstance_Standard.Message_Fixed
`generatePack, generateUnpack`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### widthWire

    protected Expression_Wire widthWire

  The expression for wire carrying this message's width at runtime.

### tagWidth

    protected int tagWidth

  The width of the tag for this message.

### nTags

    protected int nTags

  Number of actual used tags in this message

### tagExtWidth

    protected int tagExtWidth

  The width of the tag extension. The largest tag on a sub-message for a union. The sum of all the variable field tags on a struct

### tag2Width

    protected java.util.Hashtable<Expression,java.lang.Integer> tag2Width

  Map from tag expression to bit widths.

Constructor Detail

### ModuleInstance_Standard.Message_Variable

    public ModuleInstance_Standard.Message_Variable(java.lang.String _name,
                                                    ModuleInstance_Standard _instance,
                                                    Message message)

See Also:
  `Message_Fixed#Message_Fixed(String, ModuleInstance_Standard, Message)`

Method Detail

### getWidthExpr

    public Expression getWidthExpr(int widthBits,
                                   int tagWidth)

  Description copied from class: `ModuleInstance_Standard.Message_Fixed`
  Simple accessor. Notice that this may in fact be a non-constant expression depending on the tags in union messages.

  Overrides:
    `getWidthExpr` in class `ModuleInstance_Standard.Message_Fixed`
  Parameters:
    `widthBits` - The number of bits required to represent the width.
    `tagWidth` - The width of the tag.
  Returns:
    An expression which evaluates to the width of this message type in bits.
  See Also:
    `ModuleInstance_Standard.Message_Fixed.getWidthExpr(int, int)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD